1. Field of the Invention
The present invention relates to network communications. More particularly, the present invention relates to predicting the performance of computer servers.
2. Description of the Related Art
The Internet is a well-known, global network of cooperatively interconnected computer networks. The World Wide Web (xe2x80x9cWebxe2x80x9d) portion of the Internet is a collection of computer servers that store Web pages, which are accessible by the public. The Web pages consist of text, graphic, audio/visual, and the like (i.e., multimedia).
FIG. 1 shows a simplified diagram of a network. Client computers 115 connect to an Internet Service Provider (xe2x80x9cISPxe2x80x9d) 110, which provides Internet access to users of client computers 115. ISP 110 connects client computers 115 via a network 105 (i.e., the Internet) to servers 100. A browser, which runs on each of client computers 115, requests Web pages from servers 100. The browser allows the users of client computers 115 to navigate (or xe2x80x9cbrowsexe2x80x9d) between Web pages.
Web requests may represent a search for information, such as an e-commerce search for a product. As shown in FIG. 2, an e-commerce search interface presents a user with a plurality of options to select as search parameters, such as price range and/or keyword(s). The user selects the search parameters and clicks xe2x80x9csearchxe2x80x9d to effect a search query. Server 100 returns a Web page with a list of matches to the query.
A concern of operators of computer servers 100 is allocating the limited resources of servers 100. The goal of the operators is to allocate the most resources to the most requested Web pages in order to increase access to the most pertinent information. The success of a Web page depends, then, on the performance of servers 100, which store the Web pages, because quick access to information is expected on the Web. Thus, it is crucial for the operators to predict with high certainty the performance of servers 100 in order to allocate their limited resources.
It is well-known in the art that a plurality of concurrent requests impact the performance of a server 100. Thus, the present performance prediction of server 100 is based on the response times of server 100 to concurrent requests by users of client computers 115.
Further, the types of request impact the performance of server 100. For example, for one shopping service, it was determined that the type of request impacts the performance of server 100 by at least a magnitude of three. Because concurrent requests and the types of the requests impact the performance of server 100, the determination of a model of the performance of server 100 must take these two factors into consideration. Otherwise, as determined from tests, the model of the performance of server 100 may miscalculate the actual performance of server 100 by 200%, which does not allow for the proper allocation of limited resources.
In addition, the use of the actual performance of server 100 fails as a basis for allocating limited resources. To begin, it is a measurement of past performance of server 100, and not of future performance, which may only marginally correspond to past performance. More importantly, measuring the performance of server 100 fails to isolate whether the performance fluctuations of server 100 result from an increase in requests or from the types of requests. Accordingly, there is a need in the art for improved performance prediction techniques for computer servers.